/* eslint-disable camelcase */

class KeyCodes {
    public KBD_NONE = 0;
    public KBD_0 = 48;
    public KBD_1 = 49;
    public KBD_2 = 50;
    public KBD_3 = 51;
    public KBD_4 = 52;
    public KBD_5 = 53;
    public KBD_6 = 54;
    public KBD_7 = 55;
    public KBD_8 = 56;
    public KBD_9 = 57;
    public KBD_a = 65;
    public KBD_b = 66;
    public KBD_c = 67;
    public KBD_d = 68;
    public KBD_e = 69;
    public KBD_f = 70;
    public KBD_g = 71;
    public KBD_h = 72;
    public KBD_i = 73;
    public KBD_j = 74;
    public KBD_k = 75;
    public KBD_l = 76;
    public KBD_m = 77;
    public KBD_n = 78;
    public KBD_o = 79;
    public KBD_p = 80;
    public KBD_q = 81;
    public KBD_r = 82;
    public KBD_s = 83;
    public KBD_t = 84;
    public KBD_u = 85;
    public KBD_v = 86;
    public KBD_w = 87;
    public KBD_x = 88;
    public KBD_y = 89;
    public KBD_z = 90;
    public KBD_f1 = 290;
    public KBD_f2 = 291;
    public KBD_f3 = 292;
    public KBD_f4 = 293;
    public KBD_f5 = 294;
    public KBD_f6 = 295;
    public KBD_f7 = 296;
    public KBD_f8 = 297;
    public KBD_f9 = 298;
    public KBD_f10 = 299;
    public KBD_f11 = 300;
    public KBD_f12 = 301;

    /* Now the weirder keys */
    public KBD_kp0 = 320;
    public KBD_kp1 = 321;
    public KBD_kp2 = 322;
    public KBD_kp3 = 323;
    public KBD_kp4 = 324;
    public KBD_kp5 = 325;
    public KBD_kp6 = 326;
    public KBD_kp7 = 327;
    public KBD_kp8 = 328;
    public KBD_kp9 = 329;

    public KBD_kpperiod = 330;
    public KBD_kpdivide = 331;
    public KBD_kpmultiply = 332;
    public KBD_kpminus = 333;
    public KBD_kpplus = 334;
    public KBD_kpenter = 335;

    public KBD_esc = 256;
    public KBD_tab = 258;
    public KBD_backspace = 259;
    public KBD_enter = 257;
    public KBD_space = 32;
    public KBD_leftalt = 342;
    public KBD_rightalt = 346;
    public KBD_leftctrl = 341;
    public KBD_rightctrl = 345;
    public KBD_leftshift = 340;
    public KBD_rightshift = 344;
    public KBD_capslock = 280;
    public KBD_scrolllock = 281;
    public KBD_numlock = 282;
    public KBD_grave = 96;
    public KBD_minus = 45;
    public KBD_equals = 61;
    public KBD_backslash = 92;
    public KBD_leftbracket = 91;
    public KBD_rightbracket = 93;
    public KBD_semicolon = 59;
    public KBD_quote = 39;
    public KBD_period = 46;
    public KBD_comma = 44;
    public KBD_slash = 47;
    public KBD_printscreen = 283;
    public KBD_pause = 284;
    public KBD_insert = 260;
    public KBD_home = 268;
    public KBD_pageup = 266;
    public KBD_delete = 261;
    public KBD_end = 269;
    public KBD_pagedown = 267;
    public KBD_left = 263;
    public KBD_up = 265;
    public KBD_down = 264;
    public KBD_right = 262;
    public KBD_extra_lt_gt = 348; // ???
}

export const Keys = new KeyCodes();
